//
//	MCStartXunLianAllModel.swift
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport

import Foundation 
import ObjectMapper


class MCStartXunLianAllModel : NSObject, NSCoding, Mappable{

	var actionBeginMusic : AnyObject?
	var actionCount : Int?
	var actionPlanDetailList : [MCStartXunLianActionPlanDetailList]?
	var actionType : Int?
	var breakBeginMusic : AnyObject?
	var createTime : String?
	var createUser : Int?
	var exerciseMuscle : String?
	var exercisePosition : String?
	var id : String?
	var instrument : String?
	var instruments : [AnyObject]?
	var introduce : String?
	var isDeleted : Int?
	var muscles : [MCStartXunLianMuscle]?
	var planBeginMusic : AnyObject?
	var planBgm : String?
	var planBgmId : String?
	var planEndMusic : AnyObject?
	var planLevel : Int?
	var planName : String?
	var planNeedTime : Int?
	var planType : Int?
	var planUrl : String?
	var positions : [MCStartXunLianMuscle]?
	var sort : Int?
	var updateTime : String?
	var updateUser : Int?
	var version : Int?
	var videoIntroduce : String?


	class func newInstance(map: Map) -> Mappable?{
		return MCStartXunLianAllModel()
	}
	required init?(map: Map){}
	private override init(){}

	func mapping(map: Map)
	{
		actionBeginMusic <- map["actionBeginMusic"]
		actionCount <- map["actionCount"]
		actionPlanDetailList <- map["actionPlanDetailList"]
		actionType <- map["actionType"]
		breakBeginMusic <- map["breakBeginMusic"]
		createTime <- map["createTime"]
		createUser <- map["createUser"]
		exerciseMuscle <- map["exerciseMuscle"]
		exercisePosition <- map["exercisePosition"]
		id <- map["id"]
		instrument <- map["instrument"]
		instruments <- map["instruments"]
		introduce <- map["introduce"]
		isDeleted <- map["isDeleted"]
		muscles <- map["muscles"]
		planBeginMusic <- map["planBeginMusic"]
		planBgm <- map["planBgm"]
		planBgmId <- map["planBgmId"]
		planEndMusic <- map["planEndMusic"]
		planLevel <- map["planLevel"]
		planName <- map["planName"]
		planNeedTime <- map["planNeedTime"]
		planType <- map["planType"]
		planUrl <- map["planUrl"]
		positions <- map["positions"]
		sort <- map["sort"]
		updateTime <- map["updateTime"]
		updateUser <- map["updateUser"]
		version <- map["version"]
		videoIntroduce <- map["videoIntroduce"]
		
	}

    /**
    * NSCoding required initializer.
    * Fills the data from the passed decoder
    */
    @objc required init(coder aDecoder: NSCoder)
	{
         actionBeginMusic = aDecoder.decodeObject(forKey: "actionBeginMusic") as? AnyObject
         actionCount = aDecoder.decodeObject(forKey: "actionCount") as? Int
         actionPlanDetailList = aDecoder.decodeObject(forKey: "actionPlanDetailList") as? [MCStartXunLianActionPlanDetailList]
         actionType = aDecoder.decodeObject(forKey: "actionType") as? Int
         breakBeginMusic = aDecoder.decodeObject(forKey: "breakBeginMusic") as? AnyObject
         createTime = aDecoder.decodeObject(forKey: "createTime") as? String
         createUser = aDecoder.decodeObject(forKey: "createUser") as? Int
         exerciseMuscle = aDecoder.decodeObject(forKey: "exerciseMuscle") as? String
         exercisePosition = aDecoder.decodeObject(forKey: "exercisePosition") as? String
         id = aDecoder.decodeObject(forKey: "id") as? String
         instrument = aDecoder.decodeObject(forKey: "instrument") as? String
         instruments = aDecoder.decodeObject(forKey: "instruments") as? [AnyObject]
         introduce = aDecoder.decodeObject(forKey: "introduce") as? String
         isDeleted = aDecoder.decodeObject(forKey: "isDeleted") as? Int
         muscles = aDecoder.decodeObject(forKey: "muscles") as? [MCStartXunLianMuscle]
         planBeginMusic = aDecoder.decodeObject(forKey: "planBeginMusic") as? AnyObject
         planBgm = aDecoder.decodeObject(forKey: "planBgm") as? String
         planBgmId = aDecoder.decodeObject(forKey: "planBgmId") as? String
         planEndMusic = aDecoder.decodeObject(forKey: "planEndMusic") as? AnyObject
         planLevel = aDecoder.decodeObject(forKey: "planLevel") as? Int
         planName = aDecoder.decodeObject(forKey: "planName") as? String
         planNeedTime = aDecoder.decodeObject(forKey: "planNeedTime") as? Int
         planType = aDecoder.decodeObject(forKey: "planType") as? Int
         planUrl = aDecoder.decodeObject(forKey: "planUrl") as? String
         positions = aDecoder.decodeObject(forKey: "positions") as? [MCStartXunLianMuscle]
         sort = aDecoder.decodeObject(forKey: "sort") as? Int
         updateTime = aDecoder.decodeObject(forKey: "updateTime") as? String
         updateUser = aDecoder.decodeObject(forKey: "updateUser") as? Int
         version = aDecoder.decodeObject(forKey: "version") as? Int
         videoIntroduce = aDecoder.decodeObject(forKey: "videoIntroduce") as? String

	}

    /**
    * NSCoding required method.
    * Encodes mode properties into the decoder
    */
    @objc func encode(with aCoder: NSCoder)
	{
		if actionBeginMusic != nil{
			aCoder.encode(actionBeginMusic, forKey: "actionBeginMusic")
		}
		if actionCount != nil{
			aCoder.encode(actionCount, forKey: "actionCount")
		}
		if actionPlanDetailList != nil{
			aCoder.encode(actionPlanDetailList, forKey: "actionPlanDetailList")
		}
		if actionType != nil{
			aCoder.encode(actionType, forKey: "actionType")
		}
		if breakBeginMusic != nil{
			aCoder.encode(breakBeginMusic, forKey: "breakBeginMusic")
		}
		if createTime != nil{
			aCoder.encode(createTime, forKey: "createTime")
		}
		if createUser != nil{
			aCoder.encode(createUser, forKey: "createUser")
		}
		if exerciseMuscle != nil{
			aCoder.encode(exerciseMuscle, forKey: "exerciseMuscle")
		}
		if exercisePosition != nil{
			aCoder.encode(exercisePosition, forKey: "exercisePosition")
		}
		if id != nil{
			aCoder.encode(id, forKey: "id")
		}
		if instrument != nil{
			aCoder.encode(instrument, forKey: "instrument")
		}
		if instruments != nil{
			aCoder.encode(instruments, forKey: "instruments")
		}
		if introduce != nil{
			aCoder.encode(introduce, forKey: "introduce")
		}
		if isDeleted != nil{
			aCoder.encode(isDeleted, forKey: "isDeleted")
		}
		if muscles != nil{
			aCoder.encode(muscles, forKey: "muscles")
		}
		if planBeginMusic != nil{
			aCoder.encode(planBeginMusic, forKey: "planBeginMusic")
		}
		if planBgm != nil{
			aCoder.encode(planBgm, forKey: "planBgm")
		}
		if planBgmId != nil{
			aCoder.encode(planBgmId, forKey: "planBgmId")
		}
		if planEndMusic != nil{
			aCoder.encode(planEndMusic, forKey: "planEndMusic")
		}
		if planLevel != nil{
			aCoder.encode(planLevel, forKey: "planLevel")
		}
		if planName != nil{
			aCoder.encode(planName, forKey: "planName")
		}
		if planNeedTime != nil{
			aCoder.encode(planNeedTime, forKey: "planNeedTime")
		}
		if planType != nil{
			aCoder.encode(planType, forKey: "planType")
		}
		if planUrl != nil{
			aCoder.encode(planUrl, forKey: "planUrl")
		}
		if positions != nil{
			aCoder.encode(positions, forKey: "positions")
		}
		if sort != nil{
			aCoder.encode(sort, forKey: "sort")
		}
		if updateTime != nil{
			aCoder.encode(updateTime, forKey: "updateTime")
		}
		if updateUser != nil{
			aCoder.encode(updateUser, forKey: "updateUser")
		}
		if version != nil{
			aCoder.encode(version, forKey: "version")
		}
		if videoIntroduce != nil{
			aCoder.encode(videoIntroduce, forKey: "videoIntroduce")
		}

	}

}